草庐IT

java - SingletonSet 为什么不实现 SortedSet

全部标签

ruby - 为什么我的基本 Heroku 应用程序需要两秒钟才能加载?

我创建了两个非常简单的Heroku应用程序来测试服务,但是当我第一次访问它们时加载页面通常需要几秒钟:Cropify-基本Sinatra应用程序(ongithub)Textile2HTML-更基本的Sinatra应用程序(ongithub)我所做的只是创建一个简单的Sinatra应用程序并进行部署。我没有做任何事情来扰乱或测试Heroku服务器。我可以做些什么来缩短响应时间?现在速度很慢,我不确定从哪里开始。如果有帮助,项目的代码在github上。 最佳答案 如果您的应用程序有一段时间未使用,它会被卸载(从服务器内存中)。在第一次点

ruby-on-rails - 为什么使用 Ruby 而不是 Smalltalk?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。Ruby正在成为popular,主要是受到RubyonRails的影响,但感觉目前它正在挣扎度过青春期。Ruby和Smalltalk之间有很多相似之处--maglev证明了这一点。尽管有更不寻常的语法,Smalltalk具有Ruby的所有(如果不是更多的话)面向对象的优点。据我所知,Smalltalk似乎比Ruby更胜一筹:成熟度(开发于1970年代)稳定

ruby - 为什么 sum 比 inject( :+)?

所以我在Ruby2.4.0中运行了一些基准测试并意识到了这一点(1...1000000000000000000000000000000).sum立即计算而(1...1000000000000000000000000000000).inject(:+)花了很长时间,我刚刚中止了操作。我的印象是Range#sum是Range#inject(:+)的别名,但事实并非如此。那么sum是如何工作的,为什么它比inject(:+)快得多?N.B.Enumerable#sum(由Range实现)的文档没有说明惰性求值或任何类似的内容. 最佳答案

ruby - 为什么 Ruby 不支持 i++ 或 i--(递增/递减运算符)?

前/后递增/递减运算符(++和--)是非常标准的编程语言语法(至少对于过程和面向对象的语言而言).为什么Ruby不支持它们?我知道您可以使用+=和-=完成同样的事情,但是排除类似的东西似乎很奇怪,特别是因为它是如此简洁和传统。例子:i=0#=>0i+=1#=>1i#=>1i++#=>expect2,butasfarasIcantell,#=>irbignoresthesecond+andwaitsforasecondnumbertoaddtoi我知道Fixnum是不可变的,但是如果+=可以实例化一个新的Fixnum并设置它,为什么不对++?包含=字符的赋值的一致性是造成这种情况的唯一原

ruby - 为什么 ruby​​ 不支持方法重载?

Ruby不支持方法重载,而是覆盖现有方法。谁能解释一下为什么要这样设计语言? 最佳答案 “重载”这个术语在Ruby中根本就没有意义。它基本上是“基于静态参数的分派(dispatch)”的同义词,但Ruby根本没有静态分派(dispatch)。所以,Ruby之所以不支持基于参数的静态分派(dispatch),是因为它不支持静态分派(dispatch),句号。它不支持任何类型的静态分派(dispatch),无论是基于参数还是其他方式。现在,如果您不是实际上专门询问过载,但可能是关于动态基于参数的调度,那么答案是:因为Matz没有实现它.

ruby - 为什么在 Mac OS 上安装 Nokogiri 会因缺少 libiconv 而失败?

我一直在尝试在MacOS10.9.3上安装Nokogiri,无论我尝试什么,安装最终都失败了,并显示以下错误消息:$sudogeminstallnokogiri----with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2--with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib--with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28--with-iconv-include=/usr/local/Cellar/libiconv/

ruby - 为什么 Ruby 1.9.2 从 LOAD_PATH 中删除 ".",还有什么替代方案?

Ruby1.9.2的最新变更集不再生成当前目录.你的一部分LOAD_PATH.我有很多Rakefile假设.是LOAD_PATH的一部分,所以这打破了他们(他们报告所有基于项目路径的require语句“没有这样的文件要加载”)。这样做有什么特别的理由吗?至于修复,添加$:无处不在,但似乎非常骇人听闻,我不想那样做。使我的Rakefiles1.9.2+兼容的首选方法是什么? 最佳答案 它被认为是“安全”风险。你可以使用绝对路径绕过它File.expand_path(__FILE__)etal或做require'./filename'(

ruby - 为什么在 Ruby 中使用符号作为哈希键?

很多时候人们使用符号作为Ruby哈希中的键。与使用字符串相比有什么优势?例如:hash[:name]对比hash['name'] 最佳答案 长话短说:使用符号不仅可以节省比较时间,还可以节省内存,因为它们只存储一次。Ruby符号是不可变的(无法更改),这使得查找内容变得更加容易简短(大概)回答:使用符号不仅可以节省比较时间,还可以节省内存,因为它们只存储一次。Ruby中的符号基本上是“不可变字符串”..这意味着它们无法更改,并且它意味着在整个过程中多次引用相同的符号源代码,总是存储为相同的实体,例如具有相同的对象ID。另一方面,字符

ruby - 为什么人们说 Ruby 很慢?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我喜欢RubyonRails,我将它用于我所有的Web开发项目。几年前,有很多人在谈论Rails是一个内存大户,以及它如何不能很好地扩展,但这些建议被GreggPollackhere搁置了。.不过最近,我听到有人说Ruby本身很慢。为什么Ruby被认为很慢?我不觉得Ruby很慢,但话又说回来,我只是用它来制作简单的CRUD应用程序和公司博客。在我发现Ruby变慢之前,我需要做什么样的项目?还是这种缓慢只是

ruby - 为什么 Ruby 中的除法返回整数而不是十进制值?

例如:9/5#=>1但我期望1.8。如何获得正确的小数(非整数)结果?为什么它会返回1? 最佳答案 它正在做整数除法。您可以使用to_f强制事物进入浮点模式:9.to_f/5#=>1.89/5.to_f#=>1.8如果您的值是变量而不是文字,这也适用。将一个值转换为float足以将整个表达式强制转换为浮点运算。 关于ruby-为什么Ruby中的除法返回整数而不是十进制值?,我们在StackOverflow上找到一个类似的问题: https://stackove